
# 面向对象 ：方法
"""
在类中，包括三种方法 ： 类方法 ，静态方法 ，实例方法

# 1. 实例方法 ：定义时第一个参数必须是对象自己 ，一般使用的是self.

# 2. 类方法
1). 概念 ：主要给类所使用的方法，叫类方法 ，在类名加@classmethod
2）.定义 ：在方法前加上@classmethod
3）.调用 ：
    类名.类方法()
    对象名.类方法()

# 3. 静态方法
1) 定义 ：在方法前面加@staticmethod ,在静态中不需要传入对象引用
2) 调用：
    1）类名.静态方法()
    2）对象名.静态方法()
"""


class Bugs:

    mod = []

    # 定义类方法
    @classmethod
    def set_module(cls,mod_name):
        cls.mod.append(mod_name)

    def get_module(self):
        return self.mod

    @staticmethod
    def bug_gz():
        print("这是一个静态方法")


bug1 = Bugs()
bug1.set_module('登录')
print(bug1.get_module())

Bugs.set_module('注册')
print(Bugs().get_module())


print("="*60)

# 通过类名访问静态方法
Bugs.bug_gz()

# 通过对象名访问静态方法
bug1.bug_gz()